home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Dynamics / Contacts / _ww468.as < prev   
Encoding:
Text File  |  2010-05-14  |  5.6 KB  |  160 lines

  1. package Box2D.Dynamics.Contacts
  2. {
  3.    import Box2D.Collision.Shapes._bs125;
  4.    import Box2D.Collision.Shapes._hx306;
  5.    import Box2D.Collision.Shapes._vy532;
  6.    import Box2D.Collision._cc280;
  7.    import Box2D.Collision._kn203;
  8.    import Box2D.Collision._lh680;
  9.    import Box2D.Collision._xk47;
  10.    import Box2D.Common.Math.b2Vec2;
  11.    import Box2D.Common._kc225;
  12.    import Box2D.Dynamics._nu737;
  13.    import Box2D.Dynamics._th791;
  14.    
  15.    public class _ww468 extends _nb823
  16.    {
  17.       private static const s_evalCP:_lh680 = new _lh680();
  18.       
  19.       private var m_manifolds:Array;
  20.       
  21.       private var m0:_kn203;
  22.       
  23.       public var m_manifold:_kn203;
  24.       
  25.       public function _ww468(param1:_hx306, param2:_hx306)
  26.       {
  27.          var _loc3_:_cc280 = null;
  28.          m_manifolds = [new _kn203()];
  29.          m0 = new _kn203();
  30.          super(param1,param2);
  31.          m_manifold = m_manifolds[0];
  32.          _kc225._qf234(m_shape1.m_type == _hx306.e_polygonShape);
  33.          _kc225._qf234(m_shape2.m_type == _hx306.e_circleShape);
  34.          m_manifold.pointCount = 0;
  35.          _loc3_ = m_manifold.points[0];
  36.          _loc3_.normalImpulse = 0;
  37.          _loc3_.tangentImpulse = 0;
  38.       }
  39.       
  40.       public static function _em71(param1:_hx306, param2:_hx306, param3:*) : _nb823
  41.       {
  42.          return new _ww468(param1,param2);
  43.       }
  44.       
  45.       public static function _ai321(param1:_nb823, param2:*) : void
  46.       {
  47.       }
  48.       
  49.       override public function _vv339(param1:_nu737) : void
  50.       {
  51.          var _loc2_:int = 0;
  52.          var _loc3_:b2Vec2 = null;
  53.          var _loc4_:b2Vec2 = null;
  54.          var _loc5_:_cc280 = null;
  55.          var _loc6_:_th791 = null;
  56.          var _loc7_:_th791 = null;
  57.          var _loc8_:Array = null;
  58.          var _loc9_:_lh680 = null;
  59.          var _loc10_:_cc280 = null;
  60.          var _loc11_:Boolean = false;
  61.          var _loc12_:uint = 0;
  62.          var _loc13_:int = 0;
  63.          _loc6_ = m_shape1.m_body;
  64.          _loc7_ = m_shape2.m_body;
  65.          m0._br741(m_manifold);
  66.          _xk47._nr401(m_manifold,m_shape1 as _bs125,_loc6_.m_xf,m_shape2 as _vy532,_loc7_.m_xf);
  67.          _loc8_ = [false,false];
  68.          _loc9_ = s_evalCP;
  69.          _loc9_.shape1 = m_shape1;
  70.          _loc9_.shape2 = m_shape2;
  71.          _loc9_.friction = m_friction;
  72.          _loc9_.restitution = m_restitution;
  73.          if(m_manifold.pointCount > 0)
  74.          {
  75.             _loc2_ = 0;
  76.             while(_loc2_ < m_manifold.pointCount)
  77.             {
  78.                _loc10_ = m_manifold.points[_loc2_];
  79.                _loc10_.normalImpulse = 0;
  80.                _loc10_.tangentImpulse = 0;
  81.                _loc11_ = false;
  82.                _loc12_ = _loc10_.id._key;
  83.                _loc13_ = 0;
  84.                while(_loc13_ < m0.pointCount)
  85.                {
  86.                   if(_loc8_[_loc13_] != true)
  87.                   {
  88.                      _loc5_ = m0.points[_loc13_];
  89.                      if(_loc5_.id._key == _loc12_)
  90.                      {
  91.                         _loc8_[_loc13_] = true;
  92.                         _loc10_.normalImpulse = _loc5_.normalImpulse;
  93.                         _loc10_.tangentImpulse = _loc5_.tangentImpulse;
  94.                         _loc11_ = true;
  95.                         if(param1 != null)
  96.                         {
  97.                            _loc9_.position = _loc6_._pj447(_loc10_.localPoint1);
  98.                            _loc3_ = _loc6_._hg747(_loc10_.localPoint1);
  99.                            _loc4_ = _loc7_._hg747(_loc10_.localPoint2);
  100.                            _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
  101.                            _loc9_.normal._kh737(m_manifold.normal);
  102.                            _loc9_.separation = _loc10_.separation;
  103.                            _loc9_.id._aw644 = _loc12_;
  104.                            param1._mx420(_loc9_);
  105.                         }
  106.                         break;
  107.                      }
  108.                   }
  109.                   _loc13_++;
  110.                }
  111.                if(_loc11_ == false && param1 != null)
  112.                {
  113.                   _loc9_.position = _loc6_._pj447(_loc10_.localPoint1);
  114.                   _loc3_ = _loc6_._hg747(_loc10_.localPoint1);
  115.                   _loc4_ = _loc7_._hg747(_loc10_.localPoint2);
  116.                   _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
  117.                   _loc9_.normal._kh737(m_manifold.normal);
  118.                   _loc9_.separation = _loc10_.separation;
  119.                   _loc9_.id._aw644 = _loc12_;
  120.                   param1._um807(_loc9_);
  121.                }
  122.                _loc2_++;
  123.             }
  124.             m_manifoldCount = 1;
  125.          }
  126.          else
  127.          {
  128.             m_manifoldCount = 0;
  129.          }
  130.          if(param1 == null)
  131.          {
  132.             return;
  133.          }
  134.          _loc2_ = 0;
  135.          while(_loc2_ < m0.pointCount)
  136.          {
  137.             if(!_loc8_[_loc2_])
  138.             {
  139.                _loc5_ = m0.points[_loc2_];
  140.                _loc9_.position = _loc6_._pj447(_loc5_.localPoint1);
  141.                _loc3_ = _loc6_._hg747(_loc5_.localPoint1);
  142.                _loc4_ = _loc7_._hg747(_loc5_.localPoint2);
  143.                _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
  144.                _loc9_.normal._kh737(m0.normal);
  145.                _loc9_.separation = _loc5_.separation;
  146.                _loc9_.id._aw644 = _loc5_.id._key;
  147.                param1._ai707(_loc9_);
  148.             }
  149.             _loc2_++;
  150.          }
  151.       }
  152.       
  153.       override public function _sg202() : Array
  154.       {
  155.          return m_manifolds;
  156.       }
  157.    }
  158. }
  159.  
  160.